Welcome to pandas!

3.8 获取form表单上传的文件

Html7

< html >

< head >

< meta charset="UTF-8" >

< meta http-equiv="X-UA-Compatible" content="ie=edge" >

< title > Document < /title >

< /head >

< body >

< form action="http://127.0.0.1:8000/app03/test7" method="post" enctype="multipart/form-data" >

< P > 请选择文件: < input type="file" name="file123" > < /P >

< input type="submit" value="上传" >

< /form >

< /body >

< /html >


url:

from django.urls import path

from . import views

urlpatterns = [

path("test",views.test),

#一旦调用test1, 那么kwargs将会以关键字的a=100,b=200这样的形式传给test1

path("test1", views.test1,kwargs={"a":100,"b":200}),

#test2(request,year,month

path("test2/ < year > / < month > ", views.test2),

path("test3", views.test3),

path("test5", views.test5),

path("test6", views.test6),

path("test7", views.test7),

]


views:

def test7(request):

# print(request.body) #这个数据打印出来会很大

print(request.POST)

print(request.FILES)

print(type(request.FILES.get("file123")))

file=request.FILES.get("file123")

with open(file.name,"wb") as f:

for line in file.chunks():

f.write(line)

return HttpResponse("显示form")

返回:

< QueryDict: {} >

< MultiValueDict: {'file123': [ < InMemoryUploadedFile: 字段名清单123.xlsb (application/vnd.ms-excel.sheet.binary.macroenabled.12) > ]} >

< class 'django.core.files.uploadedfile.InMemoryUploadedFile' >

[19/May/2024 10:21:37] "POST /app03/test7 HTTP/1.1" 200 10